package com.cloud.lan.entity.utils;

import java.math.BigDecimal;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 基础常量类
 * @author ErKang
 * @date Created in 2021/11/26 14:46
 * @title ConstantInterface.java
 * Department: Product development
 */
public interface ConstantInterface {

	interface Enum {

		@AllArgsConstructor
		@Getter
		enum ConstantNumber {
			NEGATIVE(-1, -1L),
			ZERO(0, 0L),
			ONE(1, 1L),
			TOW(2, 2L),
			THREE(3, 3L),
			FOUR(4, 4L),
			FIVE(5, 5L),
			SIX(6, 6L),
			SEVEN(7, 7L),
			EIGHT(8, 8L),
			NINE(9, 9L),
			TEN(10, 10L);

			private final Integer key;
			private final Long longKey;

		}

		@AllArgsConstructor
		@Getter
		enum ConstantDecimal {
			ZERO(new BigDecimal("0.0")),
			ONE(new BigDecimal("1.0")),
			TOW(new BigDecimal("2.0")),
			THREE(new BigDecimal("3.0")),
			FOUR(new BigDecimal("4.0")),
			FIVE(new BigDecimal("5.0")),
			SIX(new BigDecimal("6.0")),
			SEVEN(new BigDecimal("7.0")),
			EIGHT(new BigDecimal("8.0")),
			NINE(new BigDecimal("9.0")),
			TEN(new BigDecimal("10.0"));

			private final BigDecimal key;

		}

		enum CONTENT_TYPE {
			CONTENT_TYPE_TEXTHTML("text/html"),
			CONTENT_TYPE_APPLICATION_X_WWW_FORM_URLENCODED("application/x-www-form-urlencoded"),
			CONTENT_TYPE_APPLICATION_JSON("application/json;charset=UTF-8"),
			CONTENT_TYPE_MULTIPART_FORM_DATA("multipart/form-data");
			private final String value;

			CONTENT_TYPE(String value) {
				this.value = value;
			}

			public String getValue() {
				return value;
			}

			@Override
			public String toString() {
				return "[" + this.value + "]";
			}
		}

		class ConstantStatic {
			public static final Integer ZERO = 0;
			public static final Integer ONE = 1;
			public static final Integer TOW = 2;
			public static final Integer THREE = 3;
			public static final Integer FOUR = 4;
			public static final Integer FIVE = 5;
			public static final Integer SIX = 6;
			public static final Integer SEVEN = 7;
			public static final Integer EIGHT = 8;
			public static final Integer NINE = 9;
			public static final Integer TEN = 10;
		}
	}

}
